package com.xoa.controller.sysUserPush;

import com.xoa.service.sysUserPush.SysUserPushSerive;
import com.xoa.util.ToJson;
import org.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

/**
 * 消息推送
 */
@Controller
@RequestMapping("/SysUserPushController")
public class SysUserPushController {
    private SysUserPushSerive sysUserPushSerive;
    /**
     * 创建人：陈志才
     * 创建时间：2017-11-13
     * 安卓端简易推送(单个设备)
     */
    @ResponseBody
    @RequestMapping("/pushTokenAndroid")
    public JSONObject pushTokenAndroid(int accessId, String secretKey, String title, String content, String token){
        return  sysUserPushSerive.pushTokenAndroid(accessId,secretKey,title,content,token);
    }

    /**
     * 创建人：陈志才
     * 创建时间：2017-11-13
     * 安卓端简易推送(单个账号)
     * @param accessId  用户ID
     * @param secretKey 用户密匙
     * @param title      标题
     * @param content    内容
     * @param account    接收账号
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushAccountAndroid")
    public JSONObject pushAccountAndroid(int  accessId, String  secretKey, String title, String content, String account){
        return sysUserPushSerive.pushAccountAndroid(accessId,secretKey,title,content,account);
    }

    /**
     * 创建人：陈志才
     * 创建时间：2017-11-13
     * 安卓端简易推送(多个个账号)
     * @param accessId  用户ID
     * @param secretKey 用户密匙
     * @param title      标题
     * @param content    内容
     * @param account    接收账号数组
     */
    @ResponseBody
    @RequestMapping("/pushAccountAndroidSum")
    public ToJson pushAccountAndroidSum(Long  accessId, String  secretKey, String title, String content, String []account) throws Exception {
            return sysUserPushSerive.pushAccountAndroidSum(accessId,secretKey,title,content,account);
    }

    /**
     * 创建人：陈志才
     * 创建时间：2017-11-13
     * 安卓端简易推送(全部设备)
     * @param accessId  用户ID
     * @param secretKey 用户密匙
     * @param title      标题
     * @param content    内容
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushAllAndroid")
    public JSONObject pushAllAndroid(int  accessId, String  secretKey, String  title, String content){
        return sysUserPushSerive.pushAllAndroid(accessId,secretKey,title,content);
    }

    /**
     *  创建人：陈志才
     *  创建时间：2017-11-13
     *  推送选中的设备
     * @param accessId  用户ID
     * @param secretKey 用户密匙
     * @param title      标题
     * @param content 消息内容
     * @param tag  接收消息的设备标
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushTagAndroid")
    public  JSONObject pushTagAndroid(int accessId,String secretKey,String title,String content,String tag){
        return  sysUserPushSerive.pushTagAndroid(accessId,secretKey,title,content,tag);
    }

    /**
     * 创建人：陈志才
     * 创建时间：2017-11-13
     * IOS平台推送消息给单个设备
     * @param accessId
     * @param secretKey
     * @param content
     * @param token
     * @param environment  （1/2 生产模式/开发模式）
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushTokenIos")
    public  JSONObject pushTokenIos(int accessId,String secretKey,String content,String
            token,int environment){
        return sysUserPushSerive.pushTokenIos(accessId,secretKey,content,token,environment);
    }

    /**
     * 创建人：陈志才
     * 创建时间：2017-11-13
     *  IOS平台推送消息给单个账号
     * @param accessId    目标ID
     * @param secretKey   密匙
     * @param content   消息内容
     * @param account   接收消息账号
     * @param environment （1/2 生产模式/开发模式）
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushAccountIos")
    public  JSONObject pushAccountIos(Long accessId,String secretKey,String content,String
            account,int environment){
        return sysUserPushSerive.pushAccountIos(accessId,secretKey,content,account,environment);
    }

    /**
     * 创建人：陈志才
     * 创建时间：2017-11-13
     *  IOS平台推送消息给所有设备
     * @param accessId
     * @param secretKey
     * @param content
     * @param environment
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushAllIos")
    public  JSONObject pushAllIos(int accessId,String secretKey,String content,int
            environment){
        return  sysUserPushSerive.pushAllIos(accessId,secretKey,content,environment);
    }

    /**
     * 创建人：陈志才
     * 创建时间：2017-11-13
     *  IOS平台推送消息给标签选中设备
     * @param accessId
     * @param secretKey
     * @param content
     * @param tag
     * @param environment
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushTagIos")
    public  JSONObject pushTagIos(int accessId,String secretKey,String content,String tag,int
            environment){
        return  sysUserPushSerive.pushTagIos(accessId,secretKey,content,tag,environment);
    }
}
